package com.mingqijia.gassafety.webserver.response.workorder.asst;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.mingqijia.gassafety.webserver.response.inner.IotskDtuResponse;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author zhangfei
 * @version 1.0.0
 * @ClassName DtuInfoH5Response.java
 * @Description
 * @createTime 2022年09月22日
 */
@Data
@ApiModel(value = "设备详情")
public class DtuInfoH5Response {

    @ApiModelProperty(value = "设备id")
    private String id;
    @ApiModelProperty(value = "设备名称")
    private String name;

    private Date installTime;
    @ApiModelProperty(value = "客户id")
    private Integer consumerId;
    @ApiModelProperty(value = "户号")
    private String subsCode;
    @ApiModelProperty(value = "path")
    private String path;

    @ApiModelProperty(value = "设备号")
    private String iMEI;

    @ApiModelProperty(value = "设备厂商")
    private String equipmentManufacturer;

    @ApiModelProperty(value = "设备类型标识")
    private String equipmentTypeFlag;

    @ApiModelProperty(value = "设备类型")
    private String equipmentType;

    @ApiModelProperty(value = "设备型号")
    private String equipmentModel;

    @ApiModelProperty(value = "检测类型")
    private String detectionType;

    @ApiModelProperty(value = "回路数量")
    private Integer loopAmount;

    @ApiModelProperty(value = "运营商")
    private String operators;

    @ApiModelProperty(value = "通讯方式")
    private String communicationMode;

    @ApiModelProperty(value = "有效期")
    private Integer validity;

    @ApiModelProperty(value = "设备到期时间")
    private String expirationTime;

    @ApiModelProperty(value = "设备临期标识 0-未临期 1-临期 2-超期 3-到期时间有误")
    private Integer expirationType;
    @ApiModelProperty(value = "设备临期展示标识 0-不展示 1-展示")
    private Integer expirationDisplay;

    @ApiModelProperty(value = "入网时间")
    private String netInTime;

    @ApiModelProperty(value = "登记时间")
    private String registerTime;

    @ApiModelProperty(value = "说明")
    private String remark;

    @ApiModelProperty(value = "设备id编号")
    private String equipmentId;

    @ApiModelProperty(value = "设备类型code, 0-其他 1-控制器")
    private Integer equipmentTypeCode;

    @ApiModelProperty(value = "设备位置")
    private String installationPosition;

    @ApiModelProperty(value = "回路对应点位数据")
    private List<String> points;

    @ApiModelProperty(value = "检测类型")
    private List<String> detectionTypes;


    @ApiModelProperty(value = "控制器类型0-独立式，1-总线控制式，2-分线控制式")
    private Integer controllerType;

    @ApiModelProperty(value = "应用场景J-家报，B-独立式，G-控制器多点式，X-线型管束")
    private String appSite;

    @ApiModelProperty(value = "iccid")
    private String iccid;

    @ApiModelProperty(value = "协议版本 1-1.0协议（默认），2-2.0协议")
    private String protocolVersion;

    @ApiModelProperty(value = "模组型号 仅记录")
    private String moduleModel;

    @ApiModelProperty(value = "供电类型（主电）0-市电;1-碱电;2-锂电")
    private Integer powerModel;

    @ApiModelProperty(value = "信号情况")
    private Integer signal;

    @ApiModelProperty(value = "设备状态 0:离线 1:正常 2:低报 3:高报 4:故障 5:设备离线(通讯不成功)")
    private Integer equipmentStatus;

    @ApiModelProperty(value = "服务到期状态：0：正常，1：设备即将超期，2：设备已超期")
    private Integer serviceStatus;

    @ApiModelProperty("探测器列表")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private List<DetectorInfoH5Response> detectorDeviceList;

    @ApiModelProperty(value = "设备运行报告展示：0：展示，1：不展示")
    private Integer runningReportShow;

}